table of contents
FORK(2) | Руководство программиста Linux | FORK(2) |
НАЗВАНИЕ¶
fork - создает дочерний процесс
ОБЗОР¶
#include <sys/types.h>
#include <unistd.h>
pid_t fork(void);
ОПИСАНИЕ¶
fork создает процесс-потомок, который отличается от родительского только значениями PID (идентификатор процесса) и PPID (идентификатор родительского процесса), а также тем фактом, что счетчики использования ресурсов установлены в 0. Блокировки файлов и сигналы, ожидающие обработки, не наследуются.
Под Linux fork реализован с помощью "копирования страниц при записи" (copy-on-write, COW), поэтому расходы на fork сводятся к копирования таблицы страниц родителя и созданию уникальной структуры, описывающей задачу.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
При успешном завершении родителю возвращается PID процесса-потомка, а процессу-потомку возвращается 0. При неудаче родительскому процессу возвращается -1, процесс-потомок не создается, а значение errno устанавливается должным образом.
ОШИБКИ¶
СООТВЕТСТВИЕ СТАНДАРТАМ¶
Системный вызов fork соответствует SVr4, SVID, POSIX, X/OPEN, BSD 4.3.
СМОТРИ ТАКЖЕ¶
ПЕРЕВОД¶
Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 2000, Виктор Вислобоков <corochoone@perm.ru> 2003
1995-06-10 | Linux 1.2.9 |